package com.toolbox.handler;

import com.toolbox.bo.AccountBO;

/**
 * <p>
 * Description：账户上下文
 * <p>
 * 通过此类可以在Controller中拿到当前登录的用户基本信息
 * </p>
 *
 * @author Mango
 * @version v1.0.0
 * @date 2023-11-20 15:57
 * @see com.toolbox.handler
 */
public class AccountContext {

    private static final ThreadLocal<AccountBO> LOCAL = new ThreadLocal<>();

    /**
     * 获取当前用户信息
     */
    public static AccountBO getUser() {
        return LOCAL.get();
    }

    /**
     * 插入当前用户信息
     *
     * @param dto
     */
    public static void setUser(AccountBO dto) {
        LOCAL.set(dto);
    }

    /**
     * 删除当前用户
     */
    public static void removeUser() {
        LOCAL.remove();
    }

    /**
     * 删除
     */
    public static void clear() {
        removeUser();
    }

}
